Computing platforms have long been well defined. The local processor runs the operating system (OS), wherein applications run thereon. OS-level modules allow for communication between these applications. For example, a clipboard allows cutting and pasting of text between applications.
While there have been improvements in desktop OS software and network connectivity, there are restrictions for executing applications operating within an OS based platform. For example, a common application for accessing network resources is a browser application. Browser applications read hypertext mark-up language (HTML) data files and enable executables for interacting with the HTML, for example JavaScript.
Browsers must maintain a secure sandbox, thus there interoperability is limited. Browsers engage between the local OS, such as through application program interfaces (APIs), and network services through transfer protocols. Through version four of HTML standards, HTML4, multiple browser cannot interact without accessing external servers and data push/pull operations. HTML5 applications can communicate between browser windows or tabs, but only between applications coming from the same DNS domain due to the security sandbox model of the browser.
The current trend in computing resources is the integration of browsers into the space of desktop applications, with an architecture revolving around independently operating windows, each running in their own secure sandbox.
A browser container includes at least a part of a browser executable, enabling reading and display of mark-up language and related executables, as well as operating system hooks. Browser containers allow for multiple applications to be run simultaneously in separate container windows, without the UI of a browser window or tab.
In prior systems, a key reason for limiting browser interoperability is because of security restrictions within a browser environment. Using browser containers allows for relaxing security restrictions, but current solutions only facilitate peer-to-peer interoperability of mark-up language applications executable within a browser container, using a message bus.
For example, current HTML5 applications can include pre-loaded scripts or have these scripts actively loaded therein. The scripts enable communication between the applications running in the browser container, but without the collaboration and orchestration provided by shared services between the applications.
As such, there is a need for enabling multiple mark-up language applications executing in separate windows to more effectively interoperate with each other through central orchestration logic and the provisions of shared services.